Supplementary Material for Integration of national demographic-disturbance relationships and local data can improve caribou population viability projections and inform monitoring decisions

A Definitions of variables and parameters in the Bayesian population model

Table A1. Variables and parameters in the Bayesian population model and the national demographic model. Bayesian model estimates are distinguished from observed values, estimated expected values, true values, and true expected values using \(\hat{\text{ }}\) \(\tilde{\text{ }}\) \(\dot{\text{ }}\) and \(\bar{\text{ }}\) symbols respectively; for example, \(S_t\) is the Bayesian estimate of survival in year \(t\), \(\hat{S}_t\) is observed survival, \(\tilde{S}_t\) is the Bayesian estimate of expected survival (without stochastic interannual variation), \(\dot{S}_t\) is true survival, and \(\bar{S_t}\) is true expected survival (without stochastic interannual variation).

Symbol Units Description
Indices & constants
\(t\) year Year.
\(m\) month Month.
\(i\) ID Individual animal identifier.
Simulated observations of example trajectories
\(A_t\) % Buffered anthropogenic disturbance.
\(F_t\) % Fire disturbance.
\(\hat{J}_t\) animals Calves observed in calf:cow survey.
\(\hat{W}_t\) animals Cows observed in calf:cow survey.
\(\hat{T}_t\) animals Number of collared cows at end of year.
\(\hat{I}_{t}\) animals Number of collared cows at beginning of year.
Parameters estimated in the Bayesian model
\(R_t\) rate Recruitment (calves per cow).
\(S_t\) probability Adult female survival.
\(X_t\) rate Recruitment adjusted for sex ratio and composition survey errors.
\(\beta^R_0\) Recruitment intercept.
\(\beta^R_a\) Anthropogenic disturbance slope for recruitment.
\(\beta^R_f\) Fire slope for recruitment.
\(\nu_{R}\) Coefficient of variation in recruitment among years.
\(\beta^S_0\) Survival intercept.
\(\beta^S_a\) Anthropogenic disturbance slope for survival.
\(\nu_{S}\) Coefficient of variation in survival among years.
\(\tilde{R}_{t}\) rate Expected recruitment (calves per cow).
\(\tilde{S}_{t}\) rate Expected adult female survival.
\(\tilde{\lambda}_{t}\) rate Expected annual population growth.
True state in simulated example trajectories
\(\dot{R}_t\) rate Recruitment (calves per cow).
\(\dot{S}_t\) probability Adult female survival.
\(\dot{N}_t\) animals Adult female population size.
\(\dot{X}_t\) rate Recruitment adjusted for sex ratio and misidentification bias.
\(\dot{W}_t\) animals Surviving adult females before recruitment.
\(\dot{J}_t\) animals New recruits to adult age class.
True demographic parameters
\(N_0=5000\) animals Initial adult population size.
\(\bar{R}_t\) rate Expected recruitment (calves per cow).
\(\bar{S}_t\) probability Expected adult female survival.
\(\dot{\lambda}_t\) rate Annual population growth.
\(\bar{\lambda}_{t}\) rate Expected annual population growth.
\(\dot{\beta}^R_0\) Recruitment intercept.
\(\dot{\beta}^R_a\) Anthropogenic disturbance slope for recruitment.
\(\dot{\beta}^R_f\) Fire slope for recruitment.
\(\dot{\beta}^S_0\) Survival intercept.
\(\dot{\beta}^S_a\) Anthropogenic disturbance slope for survival.
\(\phi^R \sim \text{Normal}(19.862,2.229)\) Precision of recruitment-disturbance relationship.
\(\phi^S \sim \text{Normal}(63.733,8.311)\) Precision of survival-disturbance relationship.
\(p_0=1\) Maximum recruitment multiplier.
\(p_k=0.6\) Recruitment multiplier at carrying capacity.
\(k=10000\) Carrying capacity.
\(b=4\) Density dependence shape parameter.
\(a=1\) Allee effect parameter.
\(r_{max}=1.3\) Maximum population growth rate.
\(v_R=0.46\) Coefficient of variation in \(\dot{R}_t\) among years.
\(v_S=0.08696\) Coefficient of variation in \(\dot{S}_t\) among years.
\(l_R=0\) Minimum value for \(\dot{R}_t\).
\(l_S=0.61\) Minimum value for \(\dot{S}_t\).
\(h_R=0.82\) Maximum value for \(\dot{R}_t\).
\(h_S=1\) Maximum value for \(\dot{S}_t\).
Observation model parameters
\(d=1,2,4,8,16, \text{ or } 24\) years Monitoring duration.
\(n=15,30, \text{ or } 60\) animals Target number of collared females.
\(o=1 \text{ or } 4\) years Years between collar deployments.
\(w=3,6,\text{ or } 9\) ratio The apparent number of adult females per collared animal in composition survey.
\(\dot{q}=\text{uniform}(0,0.6)\) ratio True ratio of young bulls to adult females in simulated example composition survey.
\(\dot{u}=\text{uniform}(0,0.2)\) probability True probability of misidentifying young bulls as adult females and vice versa in simulated composition survey.
\(\dot{z}=\text{uniform}(0,0.2)\) probability True probability of missing calves in simulated composition survey.
\(\dot{c}\) True bias in simulated example data (Supplement B).
\(q=\text{uniform}(0,0.6)\) ratio Unknown ratio of young bulls to adult females in composition survey (used to set bias prior in Bayesian model) .
\(u=\text{uniform}(0,0.2)\) probability Unknown probability of misidentifying young bulls as adult females and vice versa in composition survey (used to set bias prior in Bayesian model).
\(z=\text{uniform}(0,0.2)\) probability Unknown probability of missing calves in composition survey (used to set bias prior Bayesian model).
\(c\) Unknown bias in Bayesian model (Supplement B).
Expected value of perfect and sample information
\(\psi=\text{viable or not}\) binary True status of a population.
\(\alpha=\text{viable or not}\) binary Assigned population status.
\(\eta_{\alpha,\psi}=1 \text{ when } \alpha=\psi, 0 \text{ otherwise}\) binary Value of classification decision.
\(x\) Simulated observations from an example population.
\(\tau\) A disturbance and monitoring scenario.
\(P(\psi|\tau)\) probability Prior probability of state \(\psi\).
\(P(\psi|x,\tau)\) probability Posterior probability of state \(\psi\).
\(EVPI_\tau\) Expected value of perfect information.
\(EVSI_\tau\) Expected value of sample information.

B Model of bias in recruitment estimates from calf:cow surveys

Assume each group of animals in a calf:cow composition survey contains one or more collared adult females (\(T\)), and may also include: uncollared adult females misidentified as young bulls or unknown sex (\(U\)); correctly identified uncollared adult females (\(V\)); young bulls correctly identified as male or unknown sex (\(O\)); young bulls misidentified as uncollared adult females (\(P\)); observed calves (\(J\)); and unobserved calves (\(K\)). The apparent number of adult females in the group is \(T+V+P=Tw\), where \(w\) is a multiplier that defines the apparent number of adult females as a function of the number of collared animals. Our objective is to model the sex and bias-corrected recruitment rate \(X=\frac{J+K}{2(T+U+V)}\) as a function of the observed calf:cow ratio \(R=J/(T+V+P)\), the cow multiplier \(w\), the ratio of young bulls to adult females \(q\), and the misidentification probabilities \(u\) and \(z\). We start by solving for \(T+U+V\) as a function of \(q,w,u\) and \(T\). Recognize that \(P=Tw-T-V\), \(U+V=V/(1-u)\), and \(P+O=P/u\) to write \(q\) as \[q=\frac{Tw-T-V}{uV/(1-u)}.\] Rearrange to get \[V=\frac{T(w-1)(1-u)}{qu+1-u}.\] Recognize that \(U=Vu/(1-u)\) to write \(T+U+V\) as a function of \(q,w,u\) and \(T\): \[T+U+V=T\frac{qu+w-u}{qu+1-u}.\] Recognize that the number of observed calves \(J\) is the product of the apparent recruitment rate and the apparent number of adult females \(J=RTw\), and that therefore \(J+K=RTw/(1-z)\) to rewrite the bias corrected recruitment rate \(X=\frac{J+K}{2(T+U+V)}\) as a function of \(w,u,z\) and \(R\): \[X=R\frac{w(1+qu-u)}{2(w+qu-u)(1-z)}.\] For simplicity, we write \(X\) as a function of a bias correction term \(c\): \[c=\frac{w(1+qu-u)}{(w+qu-u)(1-z)}; X=cR/2\]

Variation in the sex and bias corrected recruitment rate $X$ with the cow multiplier $w$, the ratio of young bulls to adult females $q$, and the adult misidentification probability $u$, and the probability of missing a calf $z$. If only collared females are counted ($w=1$) and there is a risk of missing calves $z>0$ then the apparent recruitment rate $R$ will be lower than $X$ (first column). When uncollared animals are counted ($w>1$), the risk of misidentifying adults $u$ inflates the apparent recruitment rate $R$ as on average more cows are misidentified as bulls than vice versa, but this effect is smaller than the effect of missing calves $z$. Increasing the proportion of bulls in the group $q$ reduces the effect of adult misidentification $u$.

Figure B.1: Variation in the sex and bias corrected recruitment rate \(X\) with the cow multiplier \(w\), the ratio of young bulls to adult females \(q\), and the adult misidentification probability \(u\), and the probability of missing a calf \(z\). If only collared females are counted (\(w=1\)) and there is a risk of missing calves \(z>0\) then the apparent recruitment rate \(R\) will be lower than \(X\) (first column). When uncollared animals are counted (\(w>1\)), the risk of misidentifying adults \(u\) inflates the apparent recruitment rate \(R\) as on average more cows are misidentified as bulls than vice versa, but this effect is smaller than the effect of missing calves \(z\). Increasing the proportion of bulls in the group \(q\) reduces the effect of adult misidentification \(u\).

For this analysis we assume the same range of values for the probability of misclassifying adults, and the probability of missing calves (Figure @ref{fig:biasDistribution}). Presuming that surveyed groups contain more cows than bulls, and that there is an equal probability of misclassifying cows and young bulls and vice versa, then misclassification errors cause high estimated recruitment. Missing calves causes low estimated recruitment, and on average these errors tend to cancel one another out, but the set of example trajectories does include cases with high and low bias terms (Figure @ref{fig:biasDistribution}).

In the Bayesian model, uncertainty about the value of the bias correction term $c$ (grey bars) is approximated with a Log-normal distribution (red). In these examples, the ratio of young bulls to adult females $q$ varies uniformly between 0 and 0.6, the adult misidentification probability $u$ varies uniformly between 0 and 0.2, and the probability of missing a calf $z$ varies uniformly between 0 and 0.2. We assume that the apparent number of adult females per collared animal $w$ is known.

Figure B.2: In the Bayesian model, uncertainty about the value of the bias correction term \(c\) (grey bars) is approximated with a Log-normal distribution (red). In these examples, the ratio of young bulls to adult females \(q\) varies uniformly between 0 and 0.6, the adult misidentification probability \(u\) varies uniformly between 0 and 0.2, and the probability of missing a calf \(z\) varies uniformly between 0 and 0.2. We assume that the apparent number of adult females per collared animal \(w\) is known.

C Calibration of priors

We begin by setting random effects to zero, varying the prior standard deviations of the survival intercept (sIntSE is \(\beta^S_0\) in Table 2) and recruitment intercept (rIntSE is \(\beta^R_0\) in Table 2), and comparing the prior predictive intervals of the Bayesian model to the 95% predictive intervals from Johnson et al.’s (2020) regression analysis in a case with no anthropogenic disturbance (top row of Fig C.1). We set the prior standard deviation intercept parameters (sIntSE = 0.06, rIntSE = 0.35) so that the lower bounds of the Bayesian predictive intervals match the upper bounds of Johnson et al.’s predictive intervals.

We then vary the prior standard deviations of the slopes of the relationships between anthropogenic disturbance and demographic rates (sAnthroSlopeSE is \(\beta^S_R\) and rAnthroSlopeSE is \(\beta^R_R\) in Table 2), and compare the prior predictive intervals of the Bayesian model to the 95% predictive intervals from Johnson et al.’s (2020) regression analysis in a case with 90% anthropogenic disturbance (bottom row of Fig C.1). We set the prior standard deviation of the slopes (sAnthroSlopeSE = 0.0005, rAnthroSlopeSE = 0.006) so that the upper bound of the Bayesian predictive interval does not substantially exceed the upper bound of Johnson et al.’s predictive interval.

The choice of priors for interannual variation in survival and recruitment are less important because these have little impact on expected population growth rate (Figs C.2 and C.3). We set the prior for the coefficient of variation of survival among years \(\nu_S\) to vary uniformly between sNuMin = 0.001 and sNuMax = 0.13 to match the variation among national model simulations (Fig C.2). We set the prior for the coefficient of variation of recruitment of among years \(\nu_S\) to vary uniformly between rNuMin = 0.001 and rNuMax = 0.7 to match the variation among national model simulations (Fig C.3).

Given intensive monitoring (15 years of 60 collars per year) of populations where demographic rates are higher or lower than the national average (from 97.5% and 2.5% quantiles of the national model), and the slope of the anthropogenic disturbance relationship differs from the national model, these priors are vague enough to allow posteriors to reflect local demographic rates (Figs C.4 and C.5).

Effect of variation in survival and recruitment prior standard deviations on the prior 95% predictive intervals and means of the Bayesian model (orange bands and lines) with no random effects (no interannual variation). Means and 95% predictive intervals from Johnson et al.'s 2020 regression model (black lines) summarize observed variation across the Canada.

Figure C.1: Effect of variation in survival and recruitment prior standard deviations on the prior 95% predictive intervals and means of the Bayesian model (orange bands and lines) with no random effects (no interannual variation). Means and 95% predictive intervals from Johnson et al.’s 2020 regression model (black lines) summarize observed variation across the Canada.

Differences between prior predictive survival distributions from the Bayesian model ('Bayesian') and simulated outcomes from the national model ('national'), assuming no local monitoring. In these examples anthropogenic disturbance is 0. Bands show 95% posterior predictive intervals ('local'), and the 2.5th and 97.5th percentiles for 1000 sample populations from the national model.

Figure C.2: Differences between prior predictive survival distributions from the Bayesian model (‘Bayesian’) and simulated outcomes from the national model (‘national’), assuming no local monitoring. In these examples anthropogenic disturbance is 0. Bands show 95% posterior predictive intervals (‘local’), and the 2.5th and 97.5th percentiles for 1000 sample populations from the national model.

Differences between prior predictive recruitment distributions from the Bayesian model ('Bayesian') and simulated outcomes from the national model ('national'), assuming no local monitoring. In these examples anthropogenic disturbance is 0. Bands show 95% posterior predictive intervals ('local'), and the 2.5th and 97.5th percentiles for 1000 sample populations from the national model.

Figure C.3: Differences between prior predictive recruitment distributions from the Bayesian model (‘Bayesian’) and simulated outcomes from the national model (‘national’), assuming no local monitoring. In these examples anthropogenic disturbance is 0. Bands show 95% posterior predictive intervals (‘local’), and the 2.5th and 97.5th percentiles for 1000 sample populations from the national model.

Posterior predicted survival from the Bayesian model fitted to 15 years of data, with 60 collars per year. Survival in these example populations is lower (sQuantile=0.025) or higher (sQuantile=0.975) than the national average, with no anthropogenic disturbance slope (sSlopeMod = 0), or an anthropogenic disturbance slope that is twice as steep as expected (sSlopeMod = 2). In these examples anthropogenic disturbance is 90%. Bands show 95% posterior predictive intervals, dots show true survival, and triangles show simulated observations.

Figure C.4: Posterior predicted survival from the Bayesian model fitted to 15 years of data, with 60 collars per year. Survival in these example populations is lower (sQuantile=0.025) or higher (sQuantile=0.975) than the national average, with no anthropogenic disturbance slope (sSlopeMod = 0), or an anthropogenic disturbance slope that is twice as steep as expected (sSlopeMod = 2). In these examples anthropogenic disturbance is 90%. Bands show 95% posterior predictive intervals, dots show true survival, and triangles show simulated observations.

Posterior predicted recruitment from the Bayesian model fitted to 15 years of data, with 60 collars per year. Recruitment in these example populations is lower (rQuantile=0.025) or higher (rQuantile=0.975) than the national average, with no anthropogenic disturbance slope (rSlopeMod = 0), or an anthropogenic disturbance slope that is twice as steep as expected (rSlopeMod = 2). In these examples anthropogenic disturbance is 90%. Bands show 95% posterior predictive intervals, dots show recruitment, and triangles show simulated observations.

Figure C.5: Posterior predicted recruitment from the Bayesian model fitted to 15 years of data, with 60 collars per year. Recruitment in these example populations is lower (rQuantile=0.025) or higher (rQuantile=0.975) than the national average, with no anthropogenic disturbance slope (rSlopeMod = 0), or an anthropogenic disturbance slope that is twice as steep as expected (rSlopeMod = 2). In these examples anthropogenic disturbance is 90%. Bands show 95% posterior predictive intervals, dots show recruitment, and triangles show simulated observations.

D Alternative disturbance and monitoring scenarios

Static anthropogenic disturbance and monitoring scenarios.

Figure D.1: Static anthropogenic disturbance and monitoring scenarios.

The probability of a correct status assessment varies with the amount of anthropogenic disturbance (columns), the number of years projected (rows), and monitoring effort (see Figure \@ref(fig:figDisturbanceAnthroStatic) for static anthropogenic disturbance scenarios). In these examples there are 3 cows per collared cow in recruitment surveys. See Figure 4 for additional details.

Figure D.2: The probability of a correct status assessment varies with the amount of anthropogenic disturbance (columns), the number of years projected (rows), and monitoring effort (see Figure D.1 for static anthropogenic disturbance scenarios). In these examples there are 3 cows per collared cow in recruitment surveys. See Figure 4 for additional details.

The probability of a correct status assessment varies with the amount of anthropogenic disturbance (columns), the number of years projected (rows), and monitoring effort (see Figure \@ref(fig:figDisturbanceAnthroStatic) for static anthropogenic disturbance scenarios). In these examples there are 9 cows per collared cow in recruitment surveys. See Figure 4 for additional details.

Figure D.3: The probability of a correct status assessment varies with the amount of anthropogenic disturbance (columns), the number of years projected (rows), and monitoring effort (see Figure D.1 for static anthropogenic disturbance scenarios). In these examples there are 9 cows per collared cow in recruitment surveys. See Figure 4 for additional details.

Declining anthropogenic disturbance and monitoring scenarios.

Figure D.4: Declining anthropogenic disturbance and monitoring scenarios.

The probability of a correct status assessment varies with the amount of anthropogenic disturbance (columns), the number of years projected (rows), and monitoring effort (see Figure \@ref(fig:figDisturbanceAnthroDeclining) for declining anthropogenic disturbance scenarios). In these examples there are 3 cows per collared cow in recruitment surveys. See Figure 4 for additional details.

Figure D.5: The probability of a correct status assessment varies with the amount of anthropogenic disturbance (columns), the number of years projected (rows), and monitoring effort (see Figure D.4 for declining anthropogenic disturbance scenarios). In these examples there are 3 cows per collared cow in recruitment surveys. See Figure 4 for additional details.

The probability of a correct status assessment varies with the amount of anthropogenic disturbance (columns), the number of years projected (rows), and monitoring effort (see Figure \@ref(fig:figDisturbanceAnthroDeclining) for declining anthropogenic disturbance scenarios). In these examples there are 9 cows per collared cow in recruitment surveys. See Figure 4 for additional details.

Figure D.6: The probability of a correct status assessment varies with the amount of anthropogenic disturbance (columns), the number of years projected (rows), and monitoring effort (see Figure D.4 for declining anthropogenic disturbance scenarios). In these examples there are 9 cows per collared cow in recruitment surveys. See Figure 4 for additional details.

E Expected value of perfect information

The expected value of perfect information (EVPI) varies among anthropogenic disturbance scenarios (see increasing, decreasing and stable scenarios in Figs 1, D.1 and D.5 respectively) and the number of years projected. When disturbance is high EVPI is low, indicating that local monitoring will not alter status assessments. Increasing the forecast horizon can either increase or decrease the EVPI as the anthropogenic disturbance trend makes outcomes more or less predictable.

Figure E.1: The expected value of perfect information (EVPI) varies among anthropogenic disturbance scenarios (see increasing, decreasing and stable scenarios in Figs 1, D.1 and D.5 respectively) and the number of years projected. When disturbance is high EVPI is low, indicating that local monitoring will not alter status assessments. Increasing the forecast horizon can either increase or decrease the EVPI as the anthropogenic disturbance trend makes outcomes more or less predictable.

F Effects of unknown bias in recruitment estimates from calf:cow surveys

Adding unknown bias does increase uncertainty and reduce accuracy, but these increases are not large (compare Figs 5 to 9 with Figs F.1 to F.5) given our assumptions about the the range of plausible values for the probability of misclassifying adults, and the probability of missing calves (supplement B). In both versions of the model the estimated posterior probability of viability approaches 0 or 1 accuracy increases to 100% (compare Fig 9 and F.5). Note that these conclusions are from a case in which assumed the same range of values for the probability of misclassifying adults, and the probability of missing calves (supplement B).

The distribution of differences between true expected population growth rates and Bayesian posterior expected growth rates without bias in recruitment estimates from calf:cow surveys. In these examples there is no interannual variation, 6 cows per collared cow in recruitment surveys, and disturbance increases over time (Figure 1). See Figure 6 for additional details.

Figure F.1: The distribution of differences between true expected population growth rates and Bayesian posterior expected growth rates without bias in recruitment estimates from calf:cow surveys. In these examples there is no interannual variation, 6 cows per collared cow in recruitment surveys, and disturbance increases over time (Figure 1). See Figure 6 for additional details.

The probability of a correct status assessment without bias in recruitment estimates from calf:cow surveys. In these examples there are 6 cows per collared cow in recruitment surveys, and disturbance increases over time (Figure 1). See Figure 6 for additional details.

Figure F.2: The probability of a correct status assessment without bias in recruitment estimates from calf:cow surveys. In these examples there are 6 cows per collared cow in recruitment surveys, and disturbance increases over time (Figure 1). See Figure 6 for additional details.

The expected value of sample information without bias in recruitment estimates from calf:cow surveys. In these examples there are 6 cows per collared cow in recruitment surveys, and disturbance increases over time (Figure 1). See Figure 7 for additional details.

Figure F.3: The expected value of sample information without bias in recruitment estimates from calf:cow surveys. In these examples there are 6 cows per collared cow in recruitment surveys, and disturbance increases over time (Figure 1). See Figure 7 for additional details.

Variation in the probability of a correct status assessment with the true growth rate of the population the low anthropogenic disturbance scenario without bias in recruitment estimates from calf:cow surveys. In these examples there are 6 cows per collared cow in recruitment surveys, and disturbance increases over time (Figure 1). See Figure 8 for additional details.

Figure F.4: Variation in the probability of a correct status assessment with the true growth rate of the population the low anthropogenic disturbance scenario without bias in recruitment estimates from calf:cow surveys. In these examples there are 6 cows per collared cow in recruitment surveys, and disturbance increases over time (Figure 1). See Figure 8 for additional details.

Relationship between posterior probability that the population is viable ($P(\psi|x,\tau)$) and the probability of a correct status assessment (estimated from the 114,000 example cases in Figures \@ref(fig:figDiffsNoBias) to Figures \@ref(fig:figEVSIsNoBias) with a generalized additive model) without bias in recruitment estimates from calf:cow surveys.

Figure F.5: Relationship between posterior probability that the population is viable (\(P(\psi|x,\tau)\)) and the probability of a correct status assessment (estimated from the 114,000 example cases in Figures F.1 to Figures F.3 with a generalized additive model) without bias in recruitment estimates from calf:cow surveys.

G Colophon

This report was generated on 2025-02-24 13:51:46.848785 using the following computational environment and dependencies:

#> ─ Session info ───────────────────────────────────────────────────────────────
#>  setting  value
#>  version  R version 4.3.1 (2023-06-16 ucrt)
#>  os       Windows 11 x64 (build 22631)
#>  system   x86_64, mingw32
#>  ui       RTerm
#>  language (EN)
#>  collate  English_United States.utf8
#>  ctype    English_United States.utf8
#>  tz       America/New_York
#>  date     2025-02-24
#>  pandoc   3.1.1 @ C:/Program Files/RStudio/resources/app/bin/quarto/bin/tools/ (via rmarkdown)
#> 
#> ─ Packages ───────────────────────────────────────────────────────────────────
#>  ! package                              * version    date (UTC) lib source
#>    abind                                  1.4-8      2024-09-12 [1] CRAN (R 4.3.3)
#>    backports                              1.5.0      2024-05-23 [1] CRAN (R 4.3.3)
#>    base64enc                              0.1-3      2015-07-28 [1] CRAN (R 4.3.1)
#>    bookdown                               0.41       2024-10-16 [1] CRAN (R 4.3.3)
#>    boot                                   1.3-28.1   2022-11-22 [2] CRAN (R 4.3.1)
#>    broom                                  1.0.7      2024-09-26 [1] CRAN (R 4.3.3)
#>    bslib                                  0.8.0      2024-07-29 [1] CRAN (R 4.3.3)
#>    cachem                                 1.1.0      2024-05-16 [1] CRAN (R 4.3.3)
#>    car                                    3.1-3      2024-09-27 [1] CRAN (R 4.3.3)
#>    carData                                3.0-5      2022-01-06 [1] CRAN (R 4.3.3)
#>  R Caribou-Demographic-Projection-Paper * 0.0.0.9000 <NA>       [?] <NA>
#>    caribouMetrics                       * 0.4.0      2025-02-13 [1] Github (LandSciTech/caribouMetrics@c2a27b3)
#>    class                                  7.3-22     2023-05-03 [2] CRAN (R 4.3.1)
#>    classInt                               0.4-10     2023-09-05 [1] CRAN (R 4.3.3)
#>    cli                                    3.6.3      2024-06-21 [1] CRAN (R 4.3.3)
#>    coda                                   0.19-4.1   2024-01-31 [1] CRAN (R 4.3.3)
#>    codetools                              0.2-19     2023-02-01 [2] CRAN (R 4.3.1)
#>    colorspace                             2.1-1      2024-07-26 [1] CRAN (R 4.3.3)
#>    crosstalk                              1.2.1      2023-11-23 [1] CRAN (R 4.3.3)
#>    data.table                             1.15.4     2024-03-30 [1] CRAN (R 4.3.3)
#>    DBI                                    1.2.3      2024-06-02 [1] CRAN (R 4.3.3)
#>    denstrip                               1.5.4      2018-03-18 [1] CRAN (R 4.3.3)
#>    desc                                   1.4.3      2023-12-10 [1] CRAN (R 4.3.3)
#>    devtools                               2.4.5      2022-10-11 [1] CRAN (R 4.3.3)
#>    dichromat                              2.0-0.1    2022-05-02 [1] CRAN (R 4.3.1)
#>    digest                                 0.6.37     2024-08-19 [1] CRAN (R 4.3.3)
#>    doFuture                               1.0.1      2023-12-20 [1] CRAN (R 4.3.3)
#>    dplyr                                * 1.1.4      2023-11-17 [1] CRAN (R 4.3.3)
#>    e1071                                  1.7-14     2023-12-06 [1] CRAN (R 4.3.3)
#>    ellipsis                               0.3.2      2021-04-29 [1] CRAN (R 4.3.3)
#>    evaluate                               1.0.1      2024-10-10 [1] CRAN (R 4.3.3)
#>    fansi                                  1.0.6      2023-12-08 [1] CRAN (R 4.3.3)
#>    fastmap                                1.2.0      2024-05-15 [1] CRAN (R 4.3.3)
#>    foreach                                1.5.2      2022-02-02 [1] CRAN (R 4.3.3)
#>    Formula                                1.2-5      2023-02-24 [1] CRAN (R 4.3.1)
#>    fs                                     1.6.4      2024-04-25 [1] CRAN (R 4.3.3)
#>    future                                 1.34.0     2024-07-29 [1] CRAN (R 4.3.3)
#>    future.apply                           1.11.2     2024-03-28 [1] CRAN (R 4.3.3)
#>    gdata                                  3.0.0      2023-10-16 [1] CRAN (R 4.3.3)
#>    generics                               0.1.3      2022-07-05 [1] CRAN (R 4.3.3)
#>    ggplot2                              * 3.5.1      2024-04-23 [1] CRAN (R 4.3.3)
#>    ggpubr                               * 0.6.0      2023-02-10 [1] CRAN (R 4.3.3)
#>    ggsignif                               0.6.4      2022-10-13 [1] CRAN (R 4.3.3)
#>    globals                                0.16.3     2024-03-08 [1] CRAN (R 4.3.3)
#>    glue                                   1.7.0      2024-01-09 [1] CRAN (R 4.3.3)
#>    gtable                                 0.3.6      2024-10-25 [1] CRAN (R 4.3.3)
#>    gtools                                 3.9.5      2023-11-20 [1] CRAN (R 4.3.3)
#>    here                                 * 1.0.1      2020-12-13 [1] CRAN (R 4.3.3)
#>    htmltools                              0.5.8.1    2024-04-04 [1] CRAN (R 4.3.3)
#>    htmlwidgets                            1.6.4      2023-12-06 [1] CRAN (R 4.3.3)
#>    httpuv                                 1.6.15     2024-03-26 [1] CRAN (R 4.3.3)
#>    iterators                              1.0.14     2022-02-05 [1] CRAN (R 4.3.3)
#>    jquerylib                              0.1.4      2021-04-26 [1] CRAN (R 4.3.3)
#>    jsonlite                               1.8.9      2024-09-20 [1] CRAN (R 4.3.3)
#>    KernSmooth                             2.23-21    2023-05-03 [2] CRAN (R 4.3.1)
#>    knitr                                  1.49       2024-11-08 [1] CRAN (R 4.3.3)
#>    later                                  1.3.2      2023-12-06 [1] CRAN (R 4.3.3)
#>    lattice                                0.21-8     2023-04-05 [2] CRAN (R 4.3.1)
#>    leafem                                 0.2.3      2023-09-17 [1] CRAN (R 4.3.3)
#>    leaflet                                2.2.2      2024-03-26 [1] CRAN (R 4.3.3)
#>    leafsync                               0.1.0      2019-03-05 [1] CRAN (R 4.3.3)
#>    lifecycle                              1.0.4      2023-11-07 [1] CRAN (R 4.3.3)
#>    listenv                                0.9.1      2024-01-29 [1] CRAN (R 4.3.3)
#>    lwgeom                                 0.2-14     2024-02-21 [1] CRAN (R 4.3.3)
#>    magrittr                               2.0.3      2022-03-30 [1] CRAN (R 4.3.3)
#>    Matrix                                 1.5-4.1    2023-05-18 [2] CRAN (R 4.3.1)
#>    mcmcplots                              0.4.3      2018-06-22 [1] CRAN (R 4.3.3)
#>    memoise                                2.0.1      2021-11-26 [1] CRAN (R 4.3.3)
#>    MetBrewer                            * 0.2.0      2022-03-21 [1] CRAN (R 4.3.3)
#>    mime                                   0.12       2021-09-28 [1] CRAN (R 4.3.1)
#>    miniUI                                 0.1.1.1    2018-05-18 [1] CRAN (R 4.3.3)
#>    munsell                                0.5.1      2024-04-01 [1] CRAN (R 4.3.3)
#>    parallelly                             1.40.1     2024-12-04 [1] CRAN (R 4.3.3)
#>    pillar                                 1.9.0      2023-03-22 [1] CRAN (R 4.3.3)
#>    pkgbuild                               1.4.5      2024-10-28 [1] CRAN (R 4.3.3)
#>    pkgconfig                              2.0.3      2019-09-22 [1] CRAN (R 4.3.3)
#>    pkgload                                1.4.0      2024-06-28 [1] CRAN (R 4.3.3)
#>    plyr                                   1.8.9      2023-10-02 [1] CRAN (R 4.3.3)
#>    png                                    0.1-8      2022-11-29 [1] CRAN (R 4.3.1)
#>    profvis                                0.3.8      2023-05-02 [1] CRAN (R 4.3.3)
#>    promises                               1.3.0      2024-04-05 [1] CRAN (R 4.3.3)
#>    proxy                                  0.4-27     2022-06-09 [1] CRAN (R 4.3.3)
#>    purrr                                * 1.0.2      2023-08-10 [1] CRAN (R 4.3.3)
#>    R2jags                                 0.8-9      2024-10-13 [1] CRAN (R 4.3.3)
#>    R2WinBUGS                              2.1-22.1   2024-02-05 [1] CRAN (R 4.3.3)
#>    R6                                     2.5.1      2021-08-19 [1] CRAN (R 4.3.3)
#>    raster                                 3.6-30     2024-10-02 [1] CRAN (R 4.3.3)
#>    RColorBrewer                           1.1-3      2022-04-03 [1] CRAN (R 4.3.1)
#>    Rcpp                                   1.0.13     2024-07-17 [1] CRAN (R 4.3.3)
#>    remotes                                2.5.0      2024-03-17 [1] CRAN (R 4.3.3)
#>    rjags                                  4-16       2024-08-19 [1] CRAN (R 4.3.3)
#>    rlang                                  1.1.4      2024-06-04 [1] CRAN (R 4.3.3)
#>    rmarkdown                              2.29       2024-11-04 [1] CRAN (R 4.3.3)
#>    RODBC                                  1.3-23     2023-11-25 [1] CRAN (R 4.3.2)
#>    rprojroot                              2.0.4      2023-11-05 [1] CRAN (R 4.3.3)
#>    rstatix                                0.7.2      2023-02-01 [1] CRAN (R 4.3.3)
#>    rstudioapi                             0.17.1     2024-10-22 [1] CRAN (R 4.3.3)
#>    sass                                   0.4.9      2024-03-15 [1] CRAN (R 4.3.3)
#>    scales                                 1.3.0      2023-11-28 [1] CRAN (R 4.3.3)
#>    sessioninfo                            1.2.2      2021-12-06 [1] CRAN (R 4.3.3)
#>    sf                                   * 1.0-16     2024-03-24 [1] CRAN (R 4.3.3)
#>    sfsmisc                                1.1-19     2024-08-19 [1] CRAN (R 4.3.3)
#>    shiny                                  1.9.1      2024-08-01 [1] CRAN (R 4.3.3)
#>    sp                                     2.1-4      2024-04-30 [1] CRAN (R 4.3.3)
#>    stars                                  0.6-7      2024-11-07 [1] CRAN (R 4.3.3)
#>    stringi                                1.8.4      2024-05-06 [1] CRAN (R 4.3.3)
#>    stringr                              * 1.5.1      2023-11-14 [1] CRAN (R 4.3.3)
#>    survival                               3.5-5      2023-03-12 [2] CRAN (R 4.3.1)
#>    terra                                  1.7-78     2024-05-22 [1] CRAN (R 4.3.3)
#>    tibble                                 3.2.1      2023-03-20 [1] CRAN (R 4.3.3)
#>    tidyr                                * 1.3.1      2024-01-24 [1] CRAN (R 4.3.3)
#>    tidyselect                             1.2.1      2024-03-11 [1] CRAN (R 4.3.3)
#>    tmap                                 * 3.3-4      2023-09-12 [1] CRAN (R 4.3.3)
#>    tmaptools                              3.1-1      2021-01-19 [1] CRAN (R 4.3.3)
#>    units                                  0.8-5      2023-11-28 [1] CRAN (R 4.3.3)
#>    urlchecker                             1.0.1      2021-11-30 [1] CRAN (R 4.3.3)
#>    usethis                                3.1.0      2024-11-26 [1] CRAN (R 4.3.3)
#>    utf8                                   1.2.4      2023-10-22 [1] CRAN (R 4.3.3)
#>    vctrs                                  0.6.5      2023-12-01 [1] CRAN (R 4.3.3)
#>    viridisLite                            0.4.2      2023-05-02 [1] CRAN (R 4.3.3)
#>    withr                                  3.0.2      2024-10-28 [1] CRAN (R 4.3.3)
#>    xfun                                   0.49       2024-10-31 [1] CRAN (R 4.3.3)
#>    XML                                    3.99-0.17  2024-06-25 [1] CRAN (R 4.3.3)
#>    xtable                                 1.8-4      2019-04-21 [1] CRAN (R 4.3.3)
#>    yaml                                   2.3.10     2024-07-26 [1] CRAN (R 4.3.3)
#> 
#>  [1] C:/Users/HughesJo/AppData/Local/R/win-library/4.3
#>  [2] C:/Program Files/R/R-4.3.1/library
#> 
#>  R ── Package was removed from disk.
#> 
#> ──────────────────────────────────────────────────────────────────────────────

The current Git commit details are:

#> Local:    master C:/Users/HughesJo/Documents/gitprojects/Caribou-Demographic-Projection-Paper
#> Remote:   master @ origin (https://github.com/LandSciTech/Caribou-Demographic-Projection-Paper.git)
#> Head:     [cef14cf] 2025-02-21: preparing EI submission